10 GOSUB60100:CLR 20 : 30 N=50: :REM NUMBER OF ELEMENTS 40 DIM A(N): :REM ARRAY OF RANDOM 50 : 80 NA$(1)="STANDARD" 81 NA$(2)="FLAGS" 82 NA$(3)="WRINKLE" 83 NA$(4)="SIMPLE" 84 NA$(5)="M-SEARCH" 90 GOTO5000 97 : 98 : STANDARD BUBBLE SORT 99 : 100 FORI=N-1TO1STEP-1 110 FORJ=1TOI 120 IFA(J)<=A(J+1)THEN140 130 T=A(J):A(J)=A(J+1):A(J+1)=T 140 NEXTJ 150 NEXTI 160 RETURN 197 : 198 : FLAGS BUBBLE SORT 199 : 200 FORI=N-1TO1STEP-1 205 F=1 210 FORJ=1TOI 220 IFA(J)<=A(J+1)THEN240 225 F=0 230 T=A(J):A(J)=A(J+1):A(J+1)=T 240 NEXTJ 245 IFFTHEN260 250 NEXTI 260 RETURN 297 : 298 : WRINKLE BUBBLE SORT 299 : 300 FORI=1TON-1 310 IFA(I)<=A(I+1)THEN360 320 FORJ=ITO1STEP-1 330 IFA(J)<=A(J+1)THEN360 340 T=A(J):A(J)=A(J+1):A(J+1)=T 350 NEXTJ 360 NEXTI 370 RETURN 397 : 398 : SIMPLE BUBBLE SORT 399 : 400 FORI=1TON-1 410 FORJ=I+1TON 420 IFA(I)<=A(J)THEN440 430 T=A(I):A(I)=A(J):A(J)=T 440 NEXTJ 450 NEXTI 460 RETURN 497 : 498 : M-SEARCH BUBBLE SORT 499 : 500 FORI=1TON-1:M=I 510 FORJ=I+1TON 520 IFA(M)>A(J)THENM=J 530 NEXTJ 540 T=A(I):A(I)=A(M):A(M)=T 550 NEXTI 560 RETURN 598 : 599 : 1000 TM=TI/60:REM FINISHING TIME 1010 FORI=1TON 1020 PRINTA(I),:NEXT:PRINT 1030 PRINT"ELAPSED TIME ="TM"SECONDS" 1040 RETURN 5000 PRINT"[147] MAKING A BETTER BUBBLE" 5010 PRINT" THIS PROGRAM WILL DEMONSTRATE FIVE" 5020 PRINT"BUBBLE SORT ROUTINES." 5030 PRINT" PRESS SPACE TO START DEMO." 5040 IFPEEK(203)<>60THEN5040 5050 FOR LOOP=1 TO 5 5060 TI$="000000":I=RND(-1000):PR$=NA$(LOOP)+" BUBBLE SORT" 5070 TA=(40-LEN(PR$))/2:PRINT"[147]"TAB(TA)PR$"" 5080 FORI=1TON 5090 A(I)=INT(RND(1)*N) 5100 PRINTA(I),:NEXT 5105 PRINT:PRINT" SORTING"N"NUMBERS..." 5110 ON LOOP GOSUB 100,200,300,400,500 5115 PRINT"[147]"TAB(TA)PR$"" 5116 FORI=1TON 5117 PRINTA(I),:NEXT 5120 TM(LOOP)=TI/60:PRINT:PRINT"IT TOOK"TM(LOOP)"SECONDS TO SORT" 5130 PRINT"USING THE "PR$" ROUTINE." 5140 PRINT" PRESS SPACE TO CONTINUE." 5150 IFPEEK(203)<>60THEN5150 5160 NEXT 5170 PRINT"[147] MAKING A BETTER BUBBLE" 5180 PRINT" SUMMARY OF DEMOS" 5190 PRINT"TYPE OF SORT"TAB(20)"TIME" 5200 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 5210 FOR LOOP=1 TO 5 5220 PRINTNA$(LOOP)TAB(20)TM(LOOP) 5230 NEXT 5240 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]" 5250 PRINT"PRESS SPACE TO SEE DEMO AGAIN; PRESS" 5260 PRINT"RETURN TO RETURN TO LOADSTAR." 5270 A=PEEK(203):IFA<>60ANDA<>1THEN5270 5280 IFA=60THENRUN30 5290 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 5300 IFER<>63THENEND 5310 LOAD"HELLO CONNECT",8 59999 STOP 60100 POKE53280,14:POKE53281,14 60110 PRINTCHR$(142)"[147][213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"; 60120 FORA=1TO23:PRINT"[221]"SPC(38)"[221]";:NEXT 60130 PRINT"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203][157][148][192]" 60140 FORA=217TO242:POKEA,PEEK(A)OR128:NEXT 60150 PRINT" LOADSTAR PRESENTS:" 60160 PRINT"  " 60170 PRINT"  MAKING A BETTER BUBBLE  " 60180 PRINT"   " 60190 PRINT"  BY ROYAL C. JONES  " 60200 PRINT"   " 60210 PRINT"  COPYRIGHT 1987  " 60220 PRINT"   " 60230 PRINT"  " 60240 PRINT" PRESS SPACE TO CONTINUE." 60250 IFPEEK(203)<>60THEN60250 60260 RETURN